package com.xbongbong.paas.pojo;

import com.xbongbong.paas.domain.entity.ext.OptionalRangeEntity;
import com.xbongbong.paas.field.FilterConditionsPoJo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.util.List;

/**
 * @author 李少杰
 * @version v1.0.0
 * @date 2021/11/29 17:00
 */
@Setter
@Getter
@ToString
public class StageProcessGetPojo implements Serializable {
    /**
     * 主键
     */
    private Long id;
    /**
     * 公司id
     */
    private String corpid;
    /**
     * 流程名称
     */
    private String name;
    /**
     * 阶段流程版本名称
     */
    private String versionName;
    /**
     * 阶段流程版本id
     */
    private Integer versionId;
    /**
     * 是否启用，1启用，0不启用
     */
    private Integer enable;
    /**
     * 阶段停留单位【1时、2天、3周、4月】
     */
    private Integer stageUnit;
    /**
     * 允许回退阶段（0不允许、1允许）
     */
    private Integer allowBack;
    /**
     * 允许新建选择阶段（0不允许、1允许）
     */
    private Integer allowNewSelect;
    /**
     * 哪些人允许新建选择阶段，空值代表所有人都允许
     */
    private List<OptionalRangeEntity> allowNewSelectUser;
    /**
     * 阶段用时（0不显示、1显示）
     */
    private Integer showTimeUse;
    /**
     * 阶段停留时长（0不显示、1显示）
     */
    private Integer showTimeStay;
    /**
     * 任务完成情况（0不显示、1显示）
     */
    private Integer showWorkCompletion;
    /**
     * 公司平均完成时长（0不显示、1显示）
     */
    private Integer showAverageCompletionTime;
    /**
     * 触发条件
     */
    private List<FilterConditionsPoJo> triggerCondition;
    /**
     * 1：归档、2：未归档
     */
    private Integer isArchive;
    /**
     * 创建者id
     */
    private String creatorId;
    /**
     * 流程类型
     */
    private Integer type;
    /**
     * 优先级字段，数值越小优先级越高
     */
    private Integer priority;
    /**
     * 多版本启用时设置的默认版本
     */
    private Integer defaultVersion;
}
